﻿namespace Agile.Service.Admin.Model.ViewModel.Sys;

public class QuerySysMenuResponse
{
    ///<summary>菜单ID</summary>
    public long MenuID { get; set; }

    ///<summary>菜单名称</summary>
    public string MenuName { get; set; }

    ///<summary>菜单类型（1＝系统；2＝目录；3＝菜单；4＝按钮）</summary>
    public int MenuType { get; set; }

    ///<summary>菜单图标</summary>
    public string MenuIcon { get; set; }

    ///<summary>菜单Url</summary>
    public string MenuUrl { get; set; }

    ///<summary>父级ID,顶级为-1</summary>
    public long ParentID { get; set; }

    ///<summary>重定向地址</summary>
    public string Redirect { get; set; }

    ///<summary>权限标示</summary>
    public string PowerTag { get; set; }

    ///<summary>组件</summary>
    public string Component { get; set; }

    ///<summary>是否启用</summary>
    public bool Enabled { get; set; }

    ///<summary>排序</summary>
    public int Sort { get; set; }

    ///<summary>创建时间</summary>
    public DateTime? CreateTime { get; set; }

    public List<QuerySysMenuResponse> children { get; set; }
}

public class QueryLoginUserMenuResponse
{
    public string Path { get; set; }
    public string Name { get; set; }
    public string Component { get; set; }
    public string Redirect { get; set; }
    public MenuMeta meta { get; set; }

    public List<QueryLoginUserMenuResponse> Children { get; set; }

    public class MenuMeta
    {
        public bool HideMenu { get; set; }
        public int OrderNo { get; set; }
        public string Title { get; set; }
        public bool Affix { get; set; }
        public string Icon { get; set; }
        public string CurrentActiveMenu { get; set; }
    }
}

public class QueryPowerMenuResponse
{
    public long id { get; set; }
    public string Icon { get; set; }
    public string MenuName { get; set; }
    public long ParentMenu { get; set; }
    public string Type { get; set; }
    public string Status { get; set; }
    public string Permission { get; set; }
    public DateTime CreateTime { get; set; }
    public List<QueryPowerMenuResponse> Children { get; set; }
}